package tec;

class TestPassagerLunatique extends TestPassagerAbstrait {

    protected PassagerAbstrait creerPassager(String nom, int destination){
	return new PassagerLunatique(nom, destination);	
    }

    void testChoixChangerPlace(){
	FauxBus f = new FauxBus();
	PassagerLunatique pl = new PassagerLunatique("passager1", 5);
	
	// est debout, veut s'asseoir
	f.status = FauxBus.ASSIS;
	pl.accepterPlaceDebout();
	pl.choixChangerPlace(f, 1);
	assert "demanderPlaceAssise" == f.messages.getLast() : "veut s'asseoir";
	
	// est assis, veut se lever
	f.status = FauxBus.DEBOUT;
	pl.accepterPlaceAssise();
	pl.choixChangerPlace(f, 2);
	assert "demanderPlaceDebout" == f.messages.getLast() : "veut se lever";
	
    }

    void testChoixPlaceMontee(){
	FauxBus f = new FauxBus();
	PassagerLunatique pl = new PassagerLunatique("passager2", 3);

	f.status = FauxBus.DEBOUT;
	pl.choixPlaceMontee(f);
	assert "demanderPlaceDebout" == f.messages.getLast() : "monte dans bus";
    }


    void lancer() {
	int nbTest = 0;
	
	super.lancer();

	System.out.print('.'); nbTest++;
	testChoixChangerPlace();
	
	System.out.print('.'); nbTest++;
	testChoixPlaceMontee();	
	
	System.out.println("(" + nbTest + "):OK: " + getClass().getName()); 
    }
}
